package com.egao.orderB.service;

import com.egao.common.core.damon.results.PageResult2;
import com.egao.common.core.web.JsonResult;
import com.egao.common.system.entity.User;
import com.egao.orderB.entity.Driver;
import org.apache.poi.ss.formula.functions.T;

import java.util.List;

/**
 * 司机管理服务类
 * @author : Doman
 * @date : 2020-06-03 16:58:06
 * @version ：1.0
 */
public interface DriverService /*extends IService<Driver>*/ {

    /**
     * 分页查询
     */
    //PageResult<Driver> listPage(PageParam<Driver> page);

    /**
     * 查询所有
     */
    //List<Driver> listAll(Map<String, Object> page);

    /**
	 * 分页查询
	 * @param page
	 * @param driver
	 * @return
	 */
	public JsonResult list(PageResult2<T> page, Driver driver, User loginUser) throws Exception;

	/**
	 * 获取list
	 * @param driver
	 * @return
	 */
	public JsonResult list(Driver driver, User loginUser);

	/**
	 * 根据Id查询
	 * @param driver
	 * @return
	 */
	public Driver getById(Driver driver);

	/**
	 * 保存
	 * @param driver
	 * @param loginUser
	 * @return
	 */
//	public JsonResult apiSaveUserFirst(Driver driver, User loginUser, User user);

	/**
	 * 保存
	 * @param driver
	 * @param loginUser
	 * @return
	 */
	public JsonResult apiSave(Driver driver, User loginUser, User user);

	/**
	 * 修改
	 * @param driver
	 * @param loginUser
	 * @return
	 */
	public JsonResult update(Driver driver, User loginUser);

	/**
	 * 修改
	 * @param driver
	 * @param loginUser
	 * @return
	 */
//	public JsonResult driverUpdate(Driver driver, User loginUser);

	/**
	 * 修改
	 * @param driver
	 * @param loginUser
	 * @return
	 */
//	public JsonResult save(Driver driver, User loginUser);

	/**
	 * 手动添加
	 * @param driver
	 * @param loginUser
	 * @return
	 */
	public JsonResult platsave(Driver driver, User user, User loginUser)throws Exception;

	/**
	 * excel导入,批量添加
	 * @param driverList
	 * @param loginUser
	 * @return
	 */
	public JsonResult excelsave(List<Driver> driverList, User loginUser) throws Exception;

	/**
	 * 删除
	 * @param driver
	 * @param loginUser
	 * @return
	 */
	public JsonResult remove(Driver driver, User loginUser);
	/**
	 * 删除
	 * @param driver
	 * @return
	 */
	public JsonResult removeReal(Driver driver);
	/**
	 * 删除
	 * @param driver
	 * @param loginUser
	 * @return
	 */
	public JsonResult examine(Driver driver, User loginUser);
}
